blob: 900a3365b81b1e1c2d241d0ed5a492929f52cad6 [file] [log] [blame]
Matthew Iversen69a6fad2014-02-25 02:10:44 +11001Changelog
2=========
3
Paul Kehrerbff54ef2015-08-12 08:47:34 -050041.1 - `master`_
5~~~~~~~~~~~~~~~
6
7.. note:: This version is not yet released and is under active development.
8
9
Paul Kehrer55ab8052015-08-11 18:22:55 -0500101.0 - 2015-08-12
Paul Kehrerd5257ab2015-05-13 20:48:36 -050011~~~~~~~~~~~~~~~~
12
Paul Kehrer68b3b1e2015-05-19 13:05:21 -070013* Switched to the new `cffi`_ ``set_source`` out-of-line API mode for
14 compilation. This results in significantly faster imports and lowered
Paul Kehrer73f06c72015-06-07 23:17:39 -050015 memory consumption. Due to this change we no longer support PyPy releases
16 older than 2.6 nor do we support any released version of PyPy3 (until a
17 version supporting cffi 1.0 comes out).
Paul Kehrer60cc9ef2015-08-04 19:29:52 +010018* Fix parsing of OpenSSH public keys that have spaces in comments.
Andre Caronbeed2942015-05-18 13:47:36 -040019* Support serialization of certificate signing requests using the
20 ``public_bytes`` method of
21 :class:`~cryptography.x509.CertificateSigningRequest`.
Andre Carona8aded62015-05-19 20:11:57 -040022* Support serialization of certificates using the ``public_bytes`` method of
23 :class:`~cryptography.x509.Certificate`.
Jiangge Zhang764f6372015-06-05 18:01:22 +080024* Add ``get_provisioning_uri`` method to
25 :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP` and
26 :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP` for generating
27 provisioning URIs.
Paul Kehrer66f380c2015-06-12 11:23:34 -050028* Add :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHash`
29 and :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHMAC`.
Ian Cordascoab94b902015-06-17 08:28:02 -050030* Raise a ``TypeError`` when passing objects that are not text as the value to
31 :class:`~cryptography.x509.NameAttribute`.
Paul Kehrer44171a22015-08-01 21:21:26 +010032* Add support for :class:`~cryptography.x509.OtherName` as a general name
33 type.
34* Added new X.509 extension support in :class:`~cryptography.x509.Certificate`
35 The following new extensions are now supported:
36
37 * :class:`~cryptography.x509.OCSPNoCheck`
38 * :class:`~cryptography.x509.InhibitAnyPolicy`
39 * :class:`~cryptography.x509.IssuerAlternativeName`
40 * :class:`~cryptography.x509.NameConstraints`
41
42* Extension support was added to
43 :class:`~cryptography.x509.CertificateSigningRequest`.
Ian Cordasco46479d02015-08-03 08:30:20 -050044* Add support for creating signed certificates with
45 :class:`~cryptography.x509.CertificateBuilder`. This includes support for
Paul Kehrere0ecfdc2015-08-06 10:53:15 +010046 the following extensions:
Ian Cordasco46479d02015-08-03 08:30:20 -050047
48 * :class:`~cryptography.x509.BasicConstraints`
49 * :class:`~cryptography.x509.SubjectAlternativeName`
Paul Kehrere0ecfdc2015-08-06 10:53:15 +010050 * :class:`~cryptography.x509.KeyUsage`
51 * :class:`~cryptography.x509.ExtendedKeyUsage`
52 * :class:`~cryptography.x509.SubjectKeyIdentifier`
53 * :class:`~cryptography.x509.AuthorityKeyIdentifier`
54 * :class:`~cryptography.x509.AuthorityInformationAccess`
55 * :class:`~cryptography.x509.CRLDistributionPoints`
Paul Kehrer683d4d82015-08-06 23:13:45 +010056 * :class:`~cryptography.x509.InhibitAnyPolicy`
Paul Kehrer2dfd9da2015-08-10 21:30:23 -050057 * :class:`~cryptography.x509.IssuerAlternativeName`
58 * :class:`~cryptography.x509.OCSPNoCheck`
Ian Cordasco46479d02015-08-03 08:30:20 -050059
Paul Kehrer91e385d2015-08-08 22:50:28 -050060* Add support for creating certificate signing requests with
61 :class:`~cryptography.x509.CertificateSigningRequestBuilder`. This includes
62 support for the same extensions supported in the ``CertificateBuilder``.
Paul Kehrer31c5c332015-08-10 11:59:38 -050063* Deprecate ``encode_rfc6979_signature`` and ``decode_rfc6979_signature`` in
64 favor of
65 :func:`~cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature`
66 and
67 :func:`~cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature`.
68
Paul Kehrer91e385d2015-08-08 22:50:28 -050069
Paul Kehrer3bbda282015-07-09 09:48:23 -0500700.9.3 - 2015-07-09
71~~~~~~~~~~~~~~~~~~
72
73* Updated Windows wheels to be compiled against OpenSSL 1.0.2d.
74
Paul Kehrer7b411632015-07-03 18:07:41 -0500750.9.2 - 2015-07-04
76~~~~~~~~~~~~~~~~~~
77
78* Updated Windows wheels to be compiled against OpenSSL 1.0.2c.
79
Alex Gaynorc4bb7d52015-06-06 17:27:14 -0400800.9.1 - 2015-06-06
81~~~~~~~~~~~~~~~~~~
82
83* **SECURITY ISSUE**: Fixed a double free in the OpenSSL backend when using DSA
84 to verify signatures. Note that this only affects PyPy 2.6.0 and (presently
85 unreleased) CFFI versions greater than 1.1.0.
86
Paul Kehrerc486ed52015-05-13 17:59:31 -0500870.9 - 2015-05-13
88~~~~~~~~~~~~~~~~
Paul Kehrer8ce597b2015-03-09 00:01:17 -050089
Paul Kehrer741fccb2015-04-14 10:22:25 -040090* Removed support for Python 3.2. This version of Python is rarely used
91 and caused support headaches. Users affected by this should upgrade to 3.3+.
Alex Gaynor6e7f6222015-03-29 21:51:38 -040092* Deprecated support for Python 2.6. At the time there is no time table for
93 actually dropping support, however we strongly encourage all users to upgrade
94 their Python, as Python 2.6 no longer receives support from the Python core
95 team.
Paul Kehrerebbeedf2015-05-08 18:13:14 -050096* Add support for the
97 :class:`~cryptography.hazmat.primitives.asymmetric.ec.SECP256K1` elliptic
98 curve.
Alex Gaynor5d27d4d2015-04-04 14:56:02 -050099* Fixed compilation when using an OpenSSL which was compiled with the
100 ``no-comp`` (``OPENSSL_NO_COMP``) option.
Paul Kehrera2c48652015-03-10 15:48:37 -0500101* Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER`
102 serialization of public keys using the ``public_bytes`` method of
Paul Kehrer1955ebf2015-03-10 08:38:57 -0500103 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`,
104 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`,
105 and
Paul Kehrera2c48652015-03-10 15:48:37 -0500106 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`.
Paul Kehrer919a5b22015-03-14 13:15:17 -0500107* Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER`
108 serialization of private keys using the ``private_bytes`` method of
109 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`,
110 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`,
111 and
112 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`.
Paul Kehrera1a1f232015-03-15 15:34:35 -0500113* Add support for parsing X.509 certificate signing requests (CSRs) with
Paul Kehrer1effb6e2015-03-30 15:05:59 -0500114 :func:`~cryptography.x509.load_pem_x509_csr` and
115 :func:`~cryptography.x509.load_der_x509_csr`.
Paul Kehrerd14dcc52015-04-14 14:21:21 -0400116* Moved ``cryptography.exceptions.InvalidToken`` to
117 :class:`cryptography.hazmat.primitives.twofactor.InvalidToken` and deprecated
118 the old location. This was moved to minimize confusion between this exception
119 and :class:`cryptography.fernet.InvalidToken`.
Paul Kehreraeb77202015-05-13 11:52:38 -0500120* Added support for X.509 extensions in :class:`~cryptography.x509.Certificate`
121 objects. The following extensions are supported as of this release:
122
123 * :class:`~cryptography.x509.BasicConstraints`
124 * :class:`~cryptography.x509.AuthorityKeyIdentifier`
125 * :class:`~cryptography.x509.SubjectKeyIdentifier`
126 * :class:`~cryptography.x509.KeyUsage`
127 * :class:`~cryptography.x509.SubjectAlternativeName`
128 * :class:`~cryptography.x509.ExtendedKeyUsage`
129 * :class:`~cryptography.x509.CRLDistributionPoints`
130 * :class:`~cryptography.x509.AuthorityInformationAccess`
131 * :class:`~cryptography.x509.CertificatePolicies`
132
133 Note that unsupported extensions with the critical flag raise
134 :class:`~cryptography.x509.UnsupportedExtension` while unsupported extensions
135 set to non-critical are silently ignored. Read the
Alex Gaynor5e0da3a2015-07-12 10:35:56 -0500136 :doc:`X.509 documentation</x509/index>` for more information.
Paul Kehrer1955ebf2015-03-10 08:38:57 -0500137
Paul Kehrer33906b82015-04-10 21:00:08 -04001380.8.2 - 2015-04-10
139~~~~~~~~~~~~~~~~~~
140
141* Fixed a race condition when initializing the OpenSSL or CommonCrypto backends
142 in a multi-threaded scenario.
143
Paul Kehrer41a750c2015-03-19 22:46:23 -05001440.8.1 - 2015-03-20
145~~~~~~~~~~~~~~~~~~
146
147* Updated Windows wheels to be compiled against OpenSSL 1.0.2a.
148
Paul Kehrer5dc4b882015-03-08 18:19:50 -05001490.8 - 2015-03-08
150~~~~~~~~~~~~~~~~
Paul Kehrer08120d72014-12-17 21:37:58 -0600151
Alex Gaynor5d66ca52014-12-25 18:39:39 -0800152* :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can
153 now load elliptic curve public keys.
Paul Kehrer836b8302015-01-18 09:42:58 -0600154* Added
Paul Kehrer8802a5b2015-02-13 12:06:57 -0600155 :attr:`~cryptography.x509.Certificate.signature_hash_algorithm` support to
Paul Kehrerb0a80392015-02-11 23:39:49 -0600156 :class:`~cryptography.x509.Certificate`.
157* Added
Paul Kehrer836b8302015-01-18 09:42:58 -0600158 :func:`~cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors`
Paul Kehrer48402ff2015-02-16 15:31:52 -0600159* :class:`~cryptography.hazmat.primitives.kdf.KeyDerivationFunction` was moved
160 from :mod:`~cryptography.hazmat.primitives.interfaces` to
161 :mod:`~cryptography.hazmat.primitives.kdf`.
Paul Kehrer719d5362015-01-01 20:03:52 -0600162* Added support for parsing X.509 names. See the
Alex Gaynor5e0da3a2015-07-12 10:35:56 -0500163 :doc:`X.509 documentation</x509/index>` for more information.
Paul Kehrer99a249d2015-01-04 15:55:22 -0600164* Added
165 :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key` to
166 support loading of DER encoded private keys and
167 :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key` to
168 support loading DER encoded public keys.
Steven McDonald27e6b9c2015-02-18 16:37:03 +1100169* Fixed building against LibreSSL, a compile-time substitute for OpenSSL.
Paul Kehrer77f540d2015-02-20 12:53:04 -0600170* FreeBSD 9.2 was removed from the continuous integration system.
Paul Kehrerf28dd452015-03-05 10:22:59 -0600171* Updated Windows wheels to be compiled against OpenSSL 1.0.2.
Paul Kehrer7bfa22e2015-03-04 13:48:30 -0600172* :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key`
173 and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key`
Paul Kehrer791afc02015-03-05 14:29:28 -0600174 now support PKCS1 RSA public keys (in addition to the previous support for
Paul Kehrer7bfa22e2015-03-04 13:48:30 -0600175 SubjectPublicKeyInfo format for RSA, EC, and DSA).
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600176* Added
Paul Kehrer59e5c862015-03-02 10:36:50 -0600177 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500178 and deprecated ``EllipticCurvePrivateKeyWithNumbers``.
Paul Kehrer59e5c862015-03-02 10:36:50 -0600179* Added
180 :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization.private_bytes`
181 to
182 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`.
183* Added
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600184 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500185 and deprecated ``RSAPrivateKeyWithNumbers``.
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600186* Added
Paul Kehrer223a8f02015-02-28 18:54:10 -0600187 :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization.private_bytes`
Paul Kehrerf83e25c2015-02-21 18:34:00 -0600188 to
189 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`.
Paul Kehrerec342632015-03-01 16:53:58 -0600190* Added
191 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500192 and deprecated ``DSAPrivateKeyWithNumbers``.
Paul Kehrerec342632015-03-01 16:53:58 -0600193* Added
194 :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization.private_bytes`
195 to
196 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`.
Paul Kehrer3f157e02015-02-28 11:31:06 -0600197* Added
198 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500199 and deprecated ``RSAPublicKeyWithNumbers``.
Paul Kehrer8ea90ef2015-07-04 16:26:58 -0500200* Added ``public_bytes`` to
Paul Kehrer3f157e02015-02-28 11:31:06 -0600201 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`.
Paul Kehrer419615b2015-03-05 21:01:16 -0600202* Added
203 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500204 and deprecated ``EllipticCurvePublicKeyWithNumbers``.
Paul Kehrer8ea90ef2015-07-04 16:26:58 -0500205* Added ``public_bytes`` to
Paul Kehrer419615b2015-03-05 21:01:16 -0600206 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`.
Paul Kehrer26006c52015-03-08 18:27:11 -0500207* Added
208 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500209 and deprecated ``DSAPublicKeyWithNumbers``.
Paul Kehrer8ea90ef2015-07-04 16:26:58 -0500210* Added ``public_bytes`` to
Paul Kehrer26006c52015-03-08 18:27:11 -0500211 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`.
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500212* :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and
213 :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from
214 :mod:`~cryptography.hazmat.primitives.interfaces` to
215 :mod:`~cryptography.hazmat.primitives.hashes`.
216* :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`,
217 :class:`~cryptography.hazmat.primitives.ciphers.AEADCipherContext`,
218 :class:`~cryptography.hazmat.primitives.ciphers.AEADEncryptionContext`,
219 :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`, and
220 :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm`
221 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
222 :mod:`~cryptography.hazmat.primitives.ciphers`.
223* :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode`,
224 :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithInitializationVector`,
225 :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithNonce`, and
226 :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithAuthenticationTag`
227 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
228 :mod:`~cryptography.hazmat.primitives.ciphers.modes`.
229* :class:`~cryptography.hazmat.primitives.padding.PaddingContext` was moved
230 from :mod:`~cryptography.hazmat.primitives.interfaces` to
231 :mod:`~cryptography.hazmat.primitives.padding`.
232*
233 :class:`~cryptography.hazmat.primitives.asymmetric.padding.AsymmetricPadding`
234 was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
235 :mod:`~cryptography.hazmat.primitives.asymmetric.padding`.
236*
237 :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricSignatureContext`
238 and
239 :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricVerificationContext`
240 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
241 :mod:`~cryptography.hazmat.primitives.asymmetric`.
242* :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`,
243 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParametersWithNumbers`,
244 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`,
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500245 ``DSAPrivateKeyWithNumbers``,
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500246 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` and
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500247 ``DSAPublicKeyWithNumbers`` were moved from
248 :mod:`~cryptography.hazmat.primitives.interfaces` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500249 :mod:`~cryptography.hazmat.primitives.asymmetric.dsa`
250* :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`,
251 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurveSignatureAlgorithm`,
252 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`,
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500253 ``EllipticCurvePrivateKeyWithNumbers``,
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500254 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`,
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500255 and ``EllipticCurvePublicKeyWithNumbers``
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500256 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
257 :mod:`~cryptography.hazmat.primitives.asymmetric.ec`.
258* :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`,
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500259 ``RSAPrivateKeyWithNumbers``,
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500260 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` and
Paul Kehrerc0dd53e2015-07-04 11:27:27 -0500261 ``RSAPublicKeyWithNumbers`` were moved from
262 :mod:`~cryptography.hazmat.primitives.interfaces` to
Paul Kehrer5dc4b882015-03-08 18:19:50 -0500263 :mod:`~cryptography.hazmat.primitives.asymmetric.rsa`.
Alex Gaynor5d66ca52014-12-25 18:39:39 -0800264
Paul Kehrer72572f92015-01-16 08:10:12 -06002650.7.2 - 2015-01-16
266~~~~~~~~~~~~~~~~~~
267
268* Updated Windows wheels to be compiled against OpenSSL 1.0.1l.
269* ``enum34`` is no longer installed on Python 3.4, where it is included in
270 the standard library.
271* Added a new function to the OpenSSL bindings to support additional
272 functionality in pyOpenSSL.
273
Paul Kehrer842e58a2014-12-28 15:17:39 -07002740.7.1 - 2014-12-28
275~~~~~~~~~~~~~~~~~~
276
277* Fixed an issue preventing compilation on platforms where ``OPENSSL_NO_SSL3``
278 was defined.
279
Paul Kehrere8135092014-12-17 14:20:40 -06002800.7 - 2014-12-17
281~~~~~~~~~~~~~~~~
Paul Kehrer98681332014-09-29 21:43:57 -0500282
Alex Gaynordf6a5cd2014-11-07 09:36:47 -0300283* Cryptography has been relicensed from the Apache Software License, Version
284 2.0, to being available under *either* the Apache Software License, Version
285 2.0, or the BSD license.
Alex Gaynor4c825132014-10-20 21:27:08 -0700286* Added key-rotation support to :doc:`Fernet </fernet>` with
287 :class:`~cryptography.fernet.MultiFernet`.
Paul Kehrer214d91d2014-12-18 07:20:04 -0600288* More bit-lengths are now supported for ``p`` and ``q`` when loading DSA keys
Alex Gaynora438e832014-10-19 19:47:05 -0700289 from numbers.
Terry Chiaff5ec862014-10-20 12:15:22 +0800290* Added :class:`~cryptography.hazmat.primitives.interfaces.MACContext` as a
Paul Kehrerebee0062015-03-07 12:34:33 -0600291 common interface for CMAC and HMAC and deprecated ``CMACContext``.
Paul Kehrerb3a3e5c2014-11-27 11:27:32 -1000292* Added support for encoding and decoding :rfc:`6979` signatures in
293 :doc:`/hazmat/primitives/asymmetric/utils`.
Mark Adams78a7d1c2014-12-12 23:13:12 -0600294* Added
Alex Gaynor993b85a2014-12-15 10:42:45 -0800295 :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` to
Paul Kehrere8135092014-12-17 14:20:40 -0600296 support the loading of OpenSSH public keys (:rfc:`4253`). Only RSA and DSA
297 keys are currently supported.
Paul Kehrere76cd272014-12-14 19:00:51 -0600298* Added initial support for X.509 certificate parsing. See the
Alex Gaynor5e0da3a2015-07-12 10:35:56 -0500299 :doc:`X.509 documentation</x509/index>` for more information.
Terry Chiac7c82f32014-10-20 12:15:22 +0800300
Paul Kehrer555b1502014-10-15 23:24:57 -05003010.6.1 - 2014-10-15
302~~~~~~~~~~~~~~~~~~
303
304* Updated Windows wheels to be compiled against OpenSSL 1.0.1j.
305* Fixed an issue where OpenSSL 1.0.1j changed the errors returned by some
306 functions.
307* Added our license file to the ``cryptography-vectors`` package.
308* Implemented DSA hash truncation support (per FIPS 186-3) in the OpenSSL
309 backend. This works around an issue in 1.0.0, 1.0.0a, and 1.0.0b where
310 truncation was not implemented.
311
Paul Kehrerc3f11d82014-09-29 20:31:15 -05003120.6 - 2014-09-29
313~~~~~~~~~~~~~~~~
Paul Kehrer1757fe32014-07-07 22:29:23 -0500314
Alex Gaynoref823342014-09-27 12:04:22 -0400315* Added
316 :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key` to
317 ease loading private keys, and
318 :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key` to
319 support loading public keys.
Alex Gaynor1658f942014-07-08 00:02:37 -0700320* Removed the, deprecated in 0.4, support for the ``salt_length`` argument to
321 the :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1`
322 constructor. The ``salt_length`` should be passed to
323 :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS` instead.
Paul Kehrerf4fbf392014-08-21 08:36:49 -1000324* Fix compilation on OS X Yosemite.
Paul Kehrer77e95a02014-09-25 12:28:07 -0500325* Deprecated ``elliptic_curve_private_key_from_numbers`` and
326 ``elliptic_curve_public_key_from_numbers`` in favor of
327 ``load_elliptic_curve_private_numbers`` and
328 ``load_elliptic_curve_public_numbers`` on
329 :class:`~cryptography.hazmat.backends.interfaces.EllipticCurveBackend`.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600330* Added ``EllipticCurvePrivateKeyWithNumbers`` and
331 ``EllipticCurvePublicKeyWithNumbers`` support.
Paul Kehrerf378e402014-09-27 11:28:42 -0500332* Work around three GCM related bugs in CommonCrypto and OpenSSL.
Paul Kehrer4c773652014-09-27 11:26:02 -0500333
334 * On the CommonCrypto backend adding AAD but not subsequently calling update
335 would return null tag bytes.
336
337 * One the CommonCrypto backend a call to update without an empty add AAD call
338 would return null ciphertext bytes.
339
340 * On the OpenSSL backend with certain versions adding AAD only would give
341 invalid tag bytes.
342
343* Support loading EC private keys from PEM.
Alex Gaynor1658f942014-07-08 00:02:37 -0700344
Paul Kehrer01f0c672014-08-20 20:15:18 -10003450.5.4 - 2014-08-20
346~~~~~~~~~~~~~~~~~~
347
348* Added several functions to the OpenSSL bindings to support new
349 functionality in pyOpenSSL.
350* Fixed a redefined constant causing compilation failure with Solaris 11.2.
351
Paul Kehrer86cf5b12014-08-07 05:38:17 -10003520.5.3 - 2014-08-06
353~~~~~~~~~~~~~~~~~~
354
355* Updated Windows wheels to be compiled against OpenSSL 1.0.1i.
356
Paul Kehrer2456e662014-07-09 19:51:32 -05003570.5.2 - 2014-07-09
358~~~~~~~~~~~~~~~~~~
359
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600360* Add ``TraditionalOpenSSLSerializationBackend`` support to
361 :doc:`/hazmat/backends/multibackend`.
Paul Kehrer2456e662014-07-09 19:51:32 -0500362* Fix compilation error on OS X 10.8 (Mountain Lion).
363
Paul Kehrerf092d732014-07-07 19:42:15 -05003640.5.1 - 2014-07-07
365~~~~~~~~~~~~~~~~~~
366
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600367* Add ``PKCS8SerializationBackend`` support to
368 :doc:`/hazmat/backends/multibackend`.
Paul Kehrerf092d732014-07-07 19:42:15 -0500369
Paul Kehrer3c6a2392014-07-07 08:29:07 -05003700.5 - 2014-07-07
371~~~~~~~~~~~~~~~~
Paul Kehrer50a04852014-05-03 08:57:13 -0500372
Alex Gaynor8f1b8e82014-06-29 20:43:29 -0700373* **BACKWARDS INCOMPATIBLE:**
374 :class:`~cryptography.hazmat.primitives.ciphers.modes.GCM` no longer allows
375 truncation of tags by default. Previous versions of ``cryptography`` allowed
376 tags to be truncated by default, applications wishing to preserve this
Alex Gaynor4efe61a2014-06-29 20:44:53 -0700377 behavior (not recommended) can pass the ``min_tag_length`` argument.
Paul Kehrer8987bcb2014-07-06 09:28:29 -0500378* Windows builds now statically link OpenSSL by default. When installing a
Paul Kehrer3df9a312014-07-06 09:25:29 -0500379 wheel on Windows you no longer need to install OpenSSL separately. Windows
380 users can switch between static and dynamic linking with an environment
381 variable. See :doc:`/installation` for more details.
Paul Kehrer88bac252014-05-21 12:42:13 -0500382* Added :class:`~cryptography.hazmat.primitives.kdf.hkdf.HKDFExpand`.
Paul Kehrer2a947c42014-05-15 17:22:08 -0400383* Added :class:`~cryptography.hazmat.primitives.ciphers.modes.CFB8` support
384 for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES` and
385 :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` on
386 :doc:`/hazmat/backends/commoncrypto` and :doc:`/hazmat/backends/openssl`.
Paul Kehrer055f9602014-05-20 23:21:26 -0500387* Added ``AES`` :class:`~cryptography.hazmat.primitives.ciphers.modes.CTR`
388 support to the OpenSSL backend when linked against 0.9.8.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600389* Added ``PKCS8SerializationBackend`` and
390 ``TraditionalOpenSSLSerializationBackend`` support to the
391 :doc:`/hazmat/backends/openssl`.
Paul Kehrer21fc5822014-07-04 09:28:55 -0500392* Added :doc:`/hazmat/primitives/asymmetric/ec` and
393 :class:`~cryptography.hazmat.backends.interfaces.EllipticCurveBackend`.
Paul Kehrerd1bac5e2014-06-13 12:34:49 -0500394* Added :class:`~cryptography.hazmat.primitives.ciphers.modes.ECB` support
395 for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` on
396 :doc:`/hazmat/backends/commoncrypto` and :doc:`/hazmat/backends/openssl`.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600397* Deprecated the concrete ``RSAPrivateKey`` class in favor of backend
Paul Kehrera10be692015-02-12 12:58:27 -0600398 specific providers of the
399 :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
400 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600401* Deprecated the concrete ``RSAPublicKey`` in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600402 providers of the
403 :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`
404 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600405* Deprecated the concrete ``DSAPrivateKey`` class in favor of backend
Paul Kehrera10be692015-02-12 12:58:27 -0600406 specific providers of the
407 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`
408 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600409* Deprecated the concrete ``DSAPublicKey`` class in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600410 providers of the
411 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`
412 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600413* Deprecated the concrete ``DSAParameters`` class in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600414 providers of the
415 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`
416 interface.
Paul Kehrerf2fb02a2014-06-19 10:16:42 -0600417* Deprecated ``encrypt_rsa``, ``decrypt_rsa``, ``create_rsa_signature_ctx`` and
418 ``create_rsa_verification_ctx`` on
419 :class:`~cryptography.hazmat.backends.interfaces.RSABackend`.
Paul Kehrer1262be22014-06-26 16:16:50 -0600420* Deprecated ``create_dsa_signature_ctx`` and ``create_dsa_verification_ctx``
421 on :class:`~cryptography.hazmat.backends.interfaces.DSABackend`.
Paul Kehrerbb91c812014-05-12 15:03:04 -0400422
Paul Kehrer95862012014-05-01 16:48:05 -05004230.4 - 2014-05-03
424~~~~~~~~~~~~~~~~
Paul Kehrer3d4eb6e2014-03-27 16:27:31 -0500425
Paul Kehrerba987452014-04-02 17:12:26 -0500426* Deprecated ``salt_length`` on
427 :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1` and added it
Alex Gaynor9963cb32014-07-12 09:35:33 -0700428 to :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. It will
Alex Gaynor2e49f212014-07-12 10:58:30 -0700429 be removed from ``MGF1`` in two releases per our :doc:`/api-stability`
Alex Gaynor9963cb32014-07-12 09:35:33 -0700430 policy.
431* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.SEED`
432 support.
Ayrx9bea9372014-04-22 21:00:34 +0800433* Added :class:`~cryptography.hazmat.primitives.cmac.CMAC`.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700434* Added decryption support to
435 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
436 and encryption support to
437 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`.
Paul Kehrer80950e52014-05-01 16:48:55 -0500438* Added signature support to
439 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`
440 and verification support to
441 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`.
Ayrx9bea9372014-04-22 21:00:34 +0800442
Paul Kehrer9c2a11b2014-03-27 13:16:57 -05004430.3 - 2014-03-27
444~~~~~~~~~~~~~~~~
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100445
446* Added :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP`.
David Reideea08d92014-02-25 11:06:09 -0800447* Added :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP`.
Alex Gaynor9963cb32014-07-12 09:35:33 -0700448* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.IDEA`
449 support.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700450* Added signature support to
451 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
452 and verification support to
453 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`.
Paul Kehrer1592e5b2014-03-27 14:29:38 -0500454* Moved test vectors to the new ``cryptography_vectors`` package.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100455
Paul Kehrer7f711ee2014-03-03 23:58:45 -04004560.2.2 - 2014-03-03
457~~~~~~~~~~~~~~~~~~
458
Alex Gaynor9963cb32014-07-12 09:35:33 -0700459* Removed a constant definition that was causing compilation problems with
460 specific versions of OpenSSL.
Paul Kehrer7f711ee2014-03-03 23:58:45 -0400461
Matthew Iversen69a6fad2014-02-25 02:10:44 +11004620.2.1 - 2014-02-22
463~~~~~~~~~~~~~~~~~~
Paul Kehrer7f711ee2014-03-03 23:58:45 -0400464
Alex Gaynorcd58b932014-05-01 23:11:06 -0700465* Fix a bug where importing cryptography from multiple paths could cause
466 initialization to fail.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100467
4680.2 - 2014-02-20
469~~~~~~~~~~~~~~~~
470
471* Added :doc:`/hazmat/backends/commoncrypto`.
472* Added initial :doc:`/hazmat/bindings/commoncrypto`.
473* Removed ``register_cipher_adapter`` method from
474 :class:`~cryptography.hazmat.backends.interfaces.CipherBackend`.
475* Added support for the OpenSSL backend under Windows.
476* Improved thread-safety for the OpenSSL backend.
477* Fixed compilation on systems where OpenSSL's ``ec.h`` header is not
478 available, such as CentOS.
479* Added :class:`~cryptography.hazmat.primitives.kdf.pbkdf2.PBKDF2HMAC`.
480* Added :class:`~cryptography.hazmat.primitives.kdf.hkdf.HKDF`.
481* Added :doc:`/hazmat/backends/multibackend`.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700482* Set default random for the :doc:`/hazmat/backends/openssl` to the OS
483 random engine.
484* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.CAST5`
485 (CAST-128) support.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100486
4870.1 - 2014-01-08
488~~~~~~~~~~~~~~~~
489
490* Initial release.
491
Alex Stapletonb9df2782014-03-17 08:09:41 +0000492.. _`master`: https://github.com/pyca/cryptography/
Paul Kehrer68b3b1e2015-05-19 13:05:21 -0700493.. _`cffi`: https://cffi.readthedocs.org/en/latest/